import { reqGetSearchInfo } from "@/api"

// search模块的小仓库
const actions = {
    // 获取search模块数据
    async getSearchList({ commit }, params = {}) {
        // params形参，是当用户派发actions的时候，第二个参数传递过来的，至少是个空对象
        let result = await reqGetSearchInfo(params)
        if (result.code == 200) {
            commit('GETSEARCHLIST', result.data)
        }
    }
}
const mutations = {
    GETSEARCHLIST(state, searchList) {
        state.searchList = searchList
    }
}
const state = {
    searchList: {}
}
// 计算属性:在项目当中,为了简化数据而生
const getters = {
    goodsList(state) {
        // state.searchList.goodsList 如果数据没有问题，返回来的是一个数组
        // 考虑到网络不给力或者没有网络，state.searchList.goodsList返回的应该是一个undefined
        // 计算新的属性，至少应该返回一个数组
        return state.searchList.goodsList || []
    },
    trademarkList(state) {
        return state.searchList.trademarkList
    },
    attrsList(state) {
        return state.searchList.attrsList
    }
}

export default {
    actions,
    mutations,
    state,
    getters
}